package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.entity.CarLog;

import java.util.Date;

/**
 * 车辆日志管理服务接口
 *
 * @author yourname
 */
public interface ICarLogService {


    /**
     * 根据车牌查询车辆日志-是否入场
     *
     * @param carSn  车牌号码
     * @return 车辆日志信息（若不存在则返回 null）
     */
    CarLog selectCarLogByCarSn(String carSn);

    /**
     * 根据车牌和进场时间查询车辆日志
     *
     * @param carSn  车牌号码
     * @param inTime 进场时间
     * @return 车辆日志信息（若不存在则返回 null）
     */
    CarLog selectCarLogByCarSnAndInTime(String carSn, Date inTime);

    /**
     * 新增车辆日志
     *
     * @param carLog 车辆日志信息
     * @return 影响行数（成功返回 1，失败返回 0）
     */
    int insertCarLog(CarLog carLog);

    /**
     * 更新出场时间和状态
     *
     * @param carSn     车牌号码
     * @param inTime    进场时间
     * @param outTime   出场时间（可为 null，表示未出场）
     * @param outStatus 出场状态（0=未出场，1=已出场）
     * @return 影响行数（成功返回 1，失败返回 0）
     */
    int updateCarLogOutTime(String carSn, Date inTime, Date outTime, Integer outStatus);
}
